void main() {
  printString('张三丰');
  printString('李四', age: 18);
  printString('王五', location: '昌平区');
  printString('赵六', age: 18, location: '海淀区');
}

/**
 * name：必传参数
 * age：可选参数
 * location：可选参数，没有默认值
 * 可选参数通过 {参数名?=值} 形式定义
 * 在Dart中，参数类型后面加上 ? 表示该参数可以为 null。具体来说：
 *int? age=18：表示 age 参数可以是 int 类型或 null，默认值为18。
 *String? location：表示 location 参数可以是 String 类型或 null。
 */
void printString(String name, {int? age = 18, String? location}) {
  print('$name - $age - $location');
}
